# -*- coding: utf-8 -*-
import hashlib
import base64
from application import app

'''
        MD5摘要算法：把任意长度的数据转换为一个长度固定的数据串（通常用16进制的字符串表示）
        数据库中存入用户的口令摘要

'''


class UserService():
    @staticmethod
    def genePwd(pwd, salt):
        m = hashlib.md5()

        # base64加密算法
        pwd_str = "%s-%s" % (base64.encodebytes(pwd.encode('utf-8')), salt)
        m.update(pwd_str.encode("utf-8"))
        # app.logger.info("原始的密码字符串：" + pwd_str)
        # app.logger.info("加密后的字符串：" + m.hexdigest())
        return m.hexdigest()

    @staticmethod
    def getAuthCode(user_info):
        m = hashlib.md5()
        auth_str = "%s-%s-%s-%s" % (user_info.uid, user_info.login_name, user_info.login_pwd, user_info.login_salt)
        m.update(auth_str.encode("utf-8"))
        return m.hexdigest()
